home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
oper_sys
/
emerald
/
emrldsys.lha
/
Language
/
Compiler
/
builtins.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-16
|
1KB
|
49 lines
/*
* @(#)builtins.h 1.5 3/16/88
*/
#ifndef builtins_h
#define builtins_h
#define NUMBUILTINS 24
#define BUILTINOBJECTBASE ((OID) 0xff000000)
#define ATOFBUILTINOBJECTBASE ((OID) 0xff000020)
#define CTOFBUILTINOBJECTBASE ((OID) 0xff000040)
#define INSTATOFBUILTINOBJECTBASE ((OID) 0xff000060)
#define INSTCTOFBUILTINOBJECTBASE ((OID) 0xff000080)
#define ABSTRACTTYPEINDEX 0
#define ANYINDEX 1
#define ARRAYINDEX 2
#define BOOLEANINDEX 3
#define CHARACTERINDEX 4
#define CONDITIONINDEX 5
#define INTEGERINDEX 6
#define NILINDEX 7
#define NODEINDEX 8
#define SIGNATUREINDEX 9
#define REALINDEX 10
#define STRINGINDEX 11
#define VECTORINDEX 12
#define TIMEINDEX 13
#define NODELISTELEMENTINDEX 14
#define NODELISTINDEX 15
#define INSTREAMINDEX 16
#define OUTSTREAMINDEX 17
#define IMMUTABLEVECTORINDEX 18
#define BITCHUNKINDEX 19
#define RISCINDEX 20
#define HANDLERINDEX 21
#define VECTOROFCHARINDEX 22
#define BUFFERINDEX 23
extern struct sNode *findInstCode();
extern void loadBuiltins();
extern int loadedDummyBuiltins;
extern char *builtinTypeNames[];
typedef enum { B_IT, B_ITSAT, B_ITSCT, B_INSTAT, B_INSTCT } B_Tag;
extern struct sNode *refToBuiltin(), *refToBuiltinFromToken();
#define OIDOfBuiltin(tag, index) \
((OID) 0xff000000 + ((unsigned) tag * 0x20) + (unsigned) index)
#endif